package com.example.demo.mapper;

import com.example.demo.entity.ArticleInfo;
import com.example.demo.entity.UserInfo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: DELL
 * Date: 2023-06-06
 * Time: 17:09
 */

// 关于用户操作的持久层类
@Mapper
public interface UserMapper {

    // 注册添加用户
    int reg(UserInfo userInfo);

    // 根据用户名查询用户
    UserInfo selectByUsername(@Param("username") String username);

    // 注册2 添加用户
    int reg2(UserInfo userInfo);

    // 根据用户名查询登陆的用户
    UserInfo login(@Param("username") String username);

    // 根据用户名以及邮箱查找用户
    UserInfo selectByUsernameAndEmail(@Param("username") String username, @Param("email") String email);

    // 根据邮箱和用户名确定用户并修改该用户密码
    int updatePassword(@Param("username") String username, @Param("email") String email,
                       @Param("password") String password);

    // 根据 id 更新当前用户的头像路径
    int filePath(@Param("image_path")String image_path, @Param("id") Integer id);

    // 根据 id 查询当前登录的用户
    UserInfo getImagePath(@Param("id") Integer id);

    // 根据 当前用户 修改密码
    int revisePassword(@Param("id") Integer id, @Param("newpassword") String newpassword);
}
